package com.zzq.my.jetpacks.jectpackapp.ui.act

import android.net.Uri
import androidx.annotation.UiThread
import by.kirich1409.viewbindingdelegate.viewBinding
import com.aisier.architecture.base.BaseActivity
import com.facebook.drawee.backends.pipeline.Fresco
import com.zzq.my.jetpacks.jectpackapp.R
import com.zzq.my.jetpacks.jectpackapp.databinding.ActivityFrescoBinding




/**
 * 描述：Fresco  强大的图片加载框架
 * 作者：zhuangzeqin
 * 时间: 2022/1/18-17:04
 * 邮箱：zzq@eeepay.cn
 * 备注: Fresco 支持许多URI格式。Fresco 不支持 相对路径的URI. 所有的 URI 都必须是绝对路径，并且带上该 URI 的 scheme。

 */
class FrescoActivity : BaseActivity(R.layout.activity_fresco) {
    private val vb by viewBinding(ActivityFrescoBinding::bind)
    //Fresco 支持许多URI格式
    //1 网络图片
    private val uri = Uri.parse("https://dfzximg01.dftoutiao.com/minimodify/20220227/640x435_621aefc947238.jpeg")
    //2 加载本地图片
    private  val  local_image = Uri.parse("res://mipmap/"+R.mipmap.actbg)
    private  val  local_image2 = Uri.parse("res://drawable/"+R.drawable.brvah_sample_footer_loading)

    //3 本地文件  asset 目录下的图片资源
    private  val assetImage = Uri.parse("asset://images/xxxx.png")

    //4 也是支持file 文件
    private  val file_image = Uri.parse("file://eeepay_image/xxxx.png")

    //5 Content provider	content://
    private val content_image = Uri.parse("content://xxx/xxx.png")

    //6 支持gif  加载
    var gif = Uri.parse("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fgif.55.la%2Fuploads%2F20210729%2F7f937f84b16ba10a429a94f582542409.gif&refer=http%3A%2F%2Fgif.55.la&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1648885527&t=aab165c4e845663854f7dee9caf9f618")


    /**
     * 初始化数据
     */
    override fun initData() {


    }

    /**
     * 初始化操作
     */
    override fun initView() {

    }

    /**
     * 初始化点击事件操作
     */
    @UiThread
    override fun eventOnClick() {

        vb.stvLoadimage.setOnClickListener {
            //加载网络图片
//            vb.sdvImag.setImageURI(uri)
//            vb.sdvImag.setImageResource(R.mipmap.add_icon)
//            vb.sdvImag.setActualImageResource(R.mipmap.add_icon)//todo 本地图片
//            vb.sdvImag.setImageURI("https://dfzximg01.dftoutiao.com/minimodify/20220227/640x435_621aefc947238.jpeg")
//            vb.sdvImag.setImageURI(local_image2)

             //region  1 加载gif
            val draweeController = Fresco.newDraweeControllerBuilder()
                .setUri(gif)
                .setAutoPlayAnimations(true) // 设置加载图片完成后是否直接进行播放
                .build()
            vb.sdvImag.setController(draweeController)
              //endregion


        }

    }
}